package pe.tnova.generic.structure.project.springmvc.generic;

import java.util.logging.Level;
import java.util.logging.Logger;

import org.eclipse.jdt.core.ICompilationUnit;
import org.eclipse.jdt.core.IPackageFragment;
import org.eclipse.jdt.core.JavaModelException;

import pe.tnova.generic.structure.project.springmvc.UI.OptionEntidadBean;
import pe.tnova.generic.structure.project.springmvc.soruce.SourceProjectCore;
import pe.tnova.generic.structure.project.springmvc.util.ConstantesTNOVA;

public class GenerarCapaServiceMantenimiento {
	private static final Logger LOG = Logger.getLogger(GenerarCapaDAO.class.getName());

	private OptionEntidadBean optionEntidadBean;
	private String strPackageBase, strCBO, strOrderBy;
	private IPackageFragment packBase;
	private IPackageFragment packBaseImpl;
	
	public GenerarCapaServiceMantenimiento(SourceProjectCore sourceProjectCore, OptionEntidadBean optionEntidadBean, String strPackageBase, IPackageFragment packBase, IPackageFragment packBaseImpl) {
		this.optionEntidadBean = optionEntidadBean;
		this.strPackageBase = strPackageBase;
		this.packBase = packBase;
		this.packBaseImpl = packBaseImpl;
		LOG.log(Level.INFO, "Generacion de codigo fuente DAO BASE para " + optionEntidadBean.getNombreEntidad() + " DAO:" + optionEntidadBean.isCheckGeneraCodigoDAO() + " DAOBASE:" + optionEntidadBean.isCheckGeneraCodigoDAOBASE() + " SERVICE:" + optionEntidadBean.isCheckGeneraCodigoSERVICE());
	}

	public void startGeneric() throws JavaModelException {
		LOG.log(Level.INFO, "Start Service generico " + optionEntidadBean.getNombreEntidad());
		if (optionEntidadBean.isCheckGeneraCodigoSERVICEMant() ) {
			ICompilationUnit interfazServiceMantenimiento = packBase.createCompilationUnit(optionEntidadBean.getNombreEntidad() + ConstantesTNOVA.CLASS_SERVICE_MNT + ConstantesTNOVA.EXTENSION_JAVA, generarCodigoFuenteServiceMant(optionEntidadBean.getNombreEntidad(), strPackageBase + ConstantesTNOVA.DONT + ConstantesTNOVA.CLASS_SERVICE_MNT), true, null);
			interfazServiceMantenimiento.close();
			ICompilationUnit claseServiceImplMantenimiento = packBaseImpl.createCompilationUnit(optionEntidadBean.getNombreEntidad() + ConstantesTNOVA.CLASS_SERVICE_MNT_IMPL + ConstantesTNOVA.EXTENSION_JAVA, generarCodigoFuenteServiceImplMant(optionEntidadBean.getNombreEntidad(), strPackageBase + ConstantesTNOVA.DONT + ConstantesTNOVA.CLASS_SERVICE_MNT_IMPL), true, null);
			claseServiceImplMantenimiento.close();
		}
	}
	
	private String generarCodigoFuenteServiceMant(String nombreEntidad, String string) {
		
		return "";
	}

	private String generarCodigoFuenteServiceImplMant(String nombreEntidad, String string) {
		
		return "";
	}

}